9. Se dau planuri de invatamant la ciclul de licenta in format Excel xlsx pe o generatie de studenti 2023 - 2027. Asta inseamna ca in anul 2023 ei au inceput anul 1 de studiu si in anul 2027 vor finaliza anul 4 de studii. Planurile contin disciplinele cu o multime de detalii de genul: - cod disciplina - nr credite - forma de evaluare - nr ore curs - nr ore laborator In fisiere Excel gasiti cateva modele de planuri de invatamant. Planurile sunt structurate pe 4 coloane reprezentand semestrele a 2 ani de studiu. Sa se scrie o aplicatie cu urmatoarele functionalitati: - sa extraga toate disciplinele cu toate caracteristicile lor dintr-un fisierul Excel dat ca intrare in aplicatie - pentru extragere se va scrie un algoritm care va itera coloanele si va identifica codul si respectiv numele disciplinei - sa genereze fisiere docx dupa modelul celor din resurse pentru fiecare disciplina in parte. Se vor genera doar schelete de fisiere, continutul disciplinei va fi completat de fiecare cadru didactic in parte. Pentru a citi si genera fișiere Excel (.xlsx) într-o aplicație de consolă C#, poți folosi librăria ClosedXML, care simplifică interacțiunea cu fișierele Excel fără a necesita instalarea Microsoft Excel pe calculator. 1. Instalează ClosedXML În Visual Studio, deschide Package Manager Console și rulează comanda: Install-Package ClosedXML Alternativ, poți adăuga pachetul din NuGet Package Manager căutând ClosedXML. 2. Exemple de cod După instalare, poți folosi codul de mai jos pentru a citi date dintr-un fișier .xlsx. using System; using ClosedXML.Excel; class Program { static void Main(string[] args) { // Specifică calea către fișierul Excel string filePath = @"C:\calea\catre\fisier.xlsx"; // Deschide fișierul Excel using (var workbook = new XLWorkbook(filePath)) { // Selectează foaia de lucru (sheet-ul) dorită var worksheet = workbook.Worksheet(1); // sau numele foii: workbook.Worksheet("Sheet1") // Iterează prin rândurile și coloanele foii de lucru foreach (var row in worksheet.RowsUsed()) { foreach (var cell in row.CellsUsed()) { Console.Write(cell.GetValue() + "\t"); } Console.WriteLine(); } } } } Deschiderea fișierului: new XLWorkbook(filePath) deschide fișierul .xlsx specificat. Selectarea Foii de Lucru: workbook.Worksheet(1) alege prima foaie de lucru din fișier. Poți folosi și numele foii, de exemplu: workbook.Worksheet("Sheet1"). Iterarea prin celule: Folosim RowsUsed() pentru a itera doar prin rândurile folosite, iar CellsUsed() pentru a obține doar celulele cu date. Observații ClosedXML gestionează automat închiderea fișierului și eliberarea resurselor după utilizare datorită using statement-ului. Referință pentru valori: cell.GetValue() extrage valoarea din celulă și o converteste la tipul specificat (aici string). Acest cod ar trebui să afișeze datele din fișierul Excel în consolă, fiecare celulă fiind separată de un tab pentru lizibilitate.